home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 3.4 KB | 55 lines |
- 1000 '***********************************************************************
- 1010 '** DOUBLE PRECISION COS(X) GENERATOR **
- 1020 '***********************************************************************
- 1030 '** GENERATES DOUBLE PRECISION VALUES FOR COS IN RADIANS **
- 1040 '** FROM THE POWER FORMULA - **
- 1050 '** **
- 1060 '** COS X = 1 - (X**2/2!) + (X**4/4!) - (X**6/6!) + (X**8/8!) - ... **
- 1070 '** **
- 1080 '***********************************************************************
- 1090 '** TWO METHODS ARE GIVEN .... **
- 1100 '** 1. BY USE OF THE **
- 1110 '** DEF FNDC#(VARIABLE#) STATEMENT **
- 1120 '** THIS REQUIRES THE VALUE PASSED BE IN RADIANS IN THE RANGE **
- 1130 '** 0 THRU PI/2 (0 THRU 90 DEGREES) PI = 3.14159265358979323846 **
- 1140 '** COS 90 DEGREES EVALUATES OUT TO 6.321469455459696D-09 **
- 1150 '** 2. BY A SERIES OF EQUATIONS TO GENERATE A VERY ACCURATE **
- 1160 '** FORM OF THE EQUATION. **
- 1170 '** COS 90 DEGREES EVALUATES OUT TO 1.24705160315211D-16 **
- 1180 '** COS 360 DEGREES EVALUATES OUT TO 1.00000133293157 **
- 1190 '** STILL VERY ACURATE FOR MOST SITUATIONS **
- 1200 '***********************************************************************
- 1210 '
- 1220 '
- 1230 '***********************************************************************
- 1240 '** FORM #1 **
- 1250 '***********************************************************************
- 1260 '
- 1270 DEF FNDC#(X#) = 1 - X#*X#/2 + X#*X#*X#*X#/24 - X#*X#*X#*X#*X#*X#/720 + X#*X#*X#*X#*X#*X#*X#*X#/40320 - X#*X#*X#*X#*X#*X#*X#*X#*X#*X#/3.6288E+06 + X#*X#*X#*X#*X#*X#*X#*X#*X#*X#*X#*X#/4.79002E+08
- 1280 DEGREES# = 90
- 1290 VALUE# = 3.14159/180*DEGREES#
- 1300 A# = FNDC#(VALUE#)
- 1310 PRINT A#
- 1320 '
- 1330 '
- 1340 '***********************************************************************
- 1350 '** FORM #2 **
- 1360 '***********************************************************************
- 1370 '
- 1380 X# = 3.14159/180*DEGREES#
- 1390 A1# = 1
- 1400 A2# = A1#*X#*X#/2 '1*2
- 1410 A3# = A2#*X#*X#/12 '3*4
- 1420 A4# = A3#*X#*X#/30 '5*6
- 1430 A5# = A4#*X#*X#/56 '7*8
- 1440 A6# = A5#*X#*X#/90 '9*10
- 1450 A7# = A6#*X#*X#/132 '11*12
- 1460 A8# = A7#*X#*X#/182 '13*14
- 1470 A9# = A8#*X#*X#/240 '15*16
- 1480 A10# = A9#*X#*X#/306 '17*18
- 1490 A11# = A10#*X#*X#/380 '19*20
- 1500 A12# = A11#*X#*X#/462 '21*22
- 1510 A13# = A12#*X#*X#/552 '23*24
- 1520 A14# = A1#-A2#+A3#-A4#+A5#-A6#+A7#-A8#+A9#-A10#+A11#-A12#+A13#
- 1530 PRINT A14#
-